package com.ledi.guns.modular.ledipay.controller.req.clazz;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import lombok.Data;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import com.ledi.guns.modular.ledipay.controller.req.clazz.ClassAdd.Add;
import com.ledi.guns.modular.ledipay.controller.req.clazz.ClassAdd.Delete;
import com.ledi.guns.modular.ledipay.controller.req.clazz.ClassAdd.Update;

/**
 * 文件名称： com.ledi.guns.modular.ledipay.controller.req.clazz.StudentsAdd.java<br/>
 * 初始作者： 钟小平<br/>
 * 创建日期： 2018年8月2日<br/>
 * 功能说明： 学生新增 <br/>
 * =================================================<br/>
 * 修改记录：<br/>
 * 修改作者 日期 修改内容<br/>
 * ================================================<br/>
 * Copyright (乐迪教育科技有限公司-幼儿事业部) 2017-2018.All rights reserved.<br/>
 */
@Data
public class StudentsAdd {

	/**
	 * 字段描述: [字段功能描述]
	 */
	@NotNull(groups = { Update.class, Delete.class }, message = "学生id不能为空！")
	private Long id;

	/**
	 * 学生名称
	 */
	@NotBlank(groups = { Add.class, Update.class }, message = "学生名称不能为空！")
	@Length(max = 50, message = "学生名称不能超过50个字符 ！")
	private String name;

	/**
	 * 升入班级id
	 */
	@NotNull(groups = { Add.class, Update.class }, message = "班级Id不能为空！")
	private Long classId;

	/**
	 * 升入年级id
	 */
	private Long gradeId;

	/**
	 * 家长手机
	 */
	@NotBlank(groups = { Add.class, Update.class }, message = "家长手机不能为空！")
	@Length(groups = { Add.class, Update.class }, max = 11, min = 11, message = "家长手机必须为11位数字 ！")
	@Pattern(groups = { Add.class, Update.class }, regexp = "^(((13[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(19[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(14[0-9]{1}))+[0-9]{8})$", message = "手机号格式不正确！")
	private String parentMobile;

	private Integer flag;

	/**
	 * 版本号
	 */
	@NotNull(groups = { Update.class, Delete.class }, message = "版本号不能为空！")
	private Integer versionNo;

}
